package AccionBoton;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;

import paginas.PaginaAspectoBoton;
import util.JFontChooser;

public class AccionSeleccionTipoFuente implements ActionListener{
	
	private PaginaAspectoBoton _frame;
	
	
	public AccionSeleccionTipoFuente(PaginaAspectoBoton frame){
		
		_frame = frame;
		
	}
	
	public void actionPerformed(ActionEvent e){
		_frame.setVisible(false);
		_frame.get_frame().get_tecladoPrevisualizado().setVisible(false);
		JDialog ventana = new JDialog();



		  // JFontChooser fontChooser = new JFontChooser(_frame);
		   JFontChooser fontChooser = new JFontChooser();

		   try{
			   fontChooser.setSelectedFontFamily(_frame.get_botonTO().getNombreFuente());
			   fontChooser.setSelectedFontSize(new Integer(_frame.get_botonTO().getTamanoFuente()).intValue());
		   }catch (Exception exc){
			   fontChooser.setSelectedFontFamily("Verdana");
			   fontChooser.setSelectedFontSize(14);
		   }
		   
			if(_frame.get_botonTO().getEstiloFuente().equals("Regular")){
				fontChooser.setSelectedFontStyle(Font.PLAIN);
			}else{
				
				if(_frame.get_botonTO().getEstiloFuente().equals("Bold")){
					fontChooser.setSelectedFontStyle(Font.BOLD);

					
				}else{
					
					if(_frame.get_botonTO().getEstiloFuente().equals("Italic")){
						fontChooser.setSelectedFontStyle(Font.ITALIC);

					}else{
						
						if(_frame.get_botonTO().getEstiloFuente().equals("Bold, Italic")){
							
							fontChooser.setSelectedFontStyle((Font.BOLD|Font.ITALIC));

						}
						
					}
					
				}
				
			}
		   
		   
		   
		    int result = fontChooser.showDialog(_frame);
		    
			//ventana.setVisible(true);
			//ventana.setModal(true);
			//ventana.setAlwaysOnTop(true);
		    
		   if (result == JFontChooser.OK_OPTION)   
		   {
			   
			   //Para subrayar UnderLine, para tachar StrikeThrough)
			  // Map<TextAttribute, Object> map = new Hashtable<TextAttribute, Object>();
			  // map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);


			   
				Font fuente = fontChooser.getSelectedFont();
				  // fuente = fuente.deriveFont(map);
				
				_frame.get_boton().getLabelTexto().setFont(fuente);
				_frame.get_botonTO().setNombreFuente(fontChooser.getSelectedFontFamily());
				_frame.get_botonTO().setTamanoFuente(new Integer(fontChooser.getSelectedFontSize()).toString());
				_frame.get_botonTO().setEstiloFuente("Bold");
				
				if(fontChooser.getSelectedFontStyle()==Font.PLAIN){
					_frame.get_botonTO().setEstiloFuente("Regular");
					
				}else{
					
					if(fontChooser.getSelectedFontStyle()==Font.BOLD){
						_frame.get_botonTO().setEstiloFuente("Bold");
						
					}else{
						
						if(fontChooser.getSelectedFontStyle()==Font.ITALIC){
							_frame.get_botonTO().setEstiloFuente("Italic");
							
						}else{
							
							if(fontChooser.getSelectedFontStyle()==(Font.BOLD|Font.ITALIC)){
								_frame.get_botonTO().setEstiloFuente("Bold, Italic");
								
							}
							
						}
						
					}
					
				}
				_frame.get_frame().get_tecladoPrevisualizado().setVisible(true);

		    	_frame.setVisible(true);
			   
		   }else{
				_frame.get_frame().get_tecladoPrevisualizado().setVisible(true);

				_frame.setVisible(true);

		   }
		   


		
	}

}
